﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыУсловийОбязательныхОтветов
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"93a46255-8c26-4eca-a0fe-e2ad275ef240\", \"Представление\":\"ПустоеЗначение\"}")]
		ПустоеЗначение = 0,//Пустое значение
		[EnumMember(Value = "{\"Ссылка\":\"52279c95-99d7-40b8-ad53-3f31dabc9123\", \"Представление\":\"ЛюбоеЗначение\"}")]
		ЛюбоеЗначение = 1,//Любое значение
		[EnumMember(Value = "{\"Ссылка\":\"9ac76309-78f4-463f-8080-591a46ab8d62\", \"Представление\":\"Равно\"}")]
		Равно = 2,
		[EnumMember(Value = "{\"Ссылка\":\"b2742969-3baa-4288-bf21-a5816d1a6865\", \"Представление\":\"НеРавно\"}")]
		НеРавно = 3,//Не равно
		[EnumMember(Value = "{\"Ссылка\":\"def21ff0-5b9e-4c51-a56d-af1f00e784ea\", \"Представление\":\"Больше\"}")]
		Больше = 4,
		[EnumMember(Value = "{\"Ссылка\":\"31ff6820-9d98-4558-b965-116c5663eee1\", \"Представление\":\"БольшеИлиРавно\"}")]
		БольшеИлиРавно = 5,//Больше или равно
		[EnumMember(Value = "{\"Ссылка\":\"c27e813c-a3a9-4059-a78f-877dfaf590cd\", \"Представление\":\"Меньше\"}")]
		Меньше = 6,
		[EnumMember(Value = "{\"Ссылка\":\"c722906a-ec8d-48b4-9949-1035c725cbc2\", \"Представление\":\"МеньшеИлиРавно\"}")]
		МеньшеИлиРавно = 7,//Меньше или равно
		[EnumMember(Value = "{\"Ссылка\":\"f0c01df7-bce7-41fa-9835-aee8d4e91d94\", \"Представление\":\"ВСписке\"}")]
		ВСписке = 8,//В списке
		[EnumMember(Value = "{\"Ссылка\":\"807fb9ca-d49e-4cdf-aa37-5197247c5c72\", \"Представление\":\"НеВСписке\"}")]
		НеВСписке = 9,//Не в списке
	}
	public static partial class ВидыУсловийОбязательныхОтветов_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПустоеЗначение = new Guid("ade2fea0-5e27-40f2-4eca-8c2693a46255");//Пустое значение
		public static readonly Guid ЛюбоеЗначение = new Guid("313f53ad-bcda-2391-40b8-99d752279c95");//Любое значение
		public static readonly Guid Равно = new Guid("1a598080-ab46-628d-463f-78f49ac76309");
		public static readonly Guid НеРавно = new Guid("81a521bf-1a6d-6568-4288-3baab2742969");//Не равно
		public static readonly Guid Больше = new Guid("1faf6da5-e700-ea84-4c51-5b9edef21ff0");
		public static readonly Guid БольшеИлиРавно = new Guid("6c1165b9-6356-e1ee-4558-9d9831ff6820");//Больше или равно
		public static readonly Guid Меньше = new Guid("7d878fa7-f5fa-cd90-4059-a3a9c27e813c");
		public static readonly Guid МеньшеИлиРавно = new Guid("35104999-25c7-c2cb-48b4-ec8dc722906a");//Меньше или равно
		public static readonly Guid ВСписке = new Guid("e8ae3598-e9d4-941d-41fa-bce7f0c01df7");//В списке
		public static readonly Guid НеВСписке = new Guid("975137aa-7c24-725c-4cdf-d49e807fb9ca");//Не в списке
		public static ВидыУсловийОбязательныхОтветов Получить(this ВидыУсловийОбязательныхОтветов Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыУсловийОбязательныхОтветов Получить(this ВидыУсловийОбязательныхОтветов Значение, Guid Ссылка)
		{
			if(Ссылка == ПустоеЗначение)
			{
				return ВидыУсловийОбязательныхОтветов.ПустоеЗначение;
			}
			else if(Ссылка == ЛюбоеЗначение)
			{
				return ВидыУсловийОбязательныхОтветов.ЛюбоеЗначение;
			}
			else if(Ссылка == Равно)
			{
				return ВидыУсловийОбязательныхОтветов.Равно;
			}
			else if(Ссылка == НеРавно)
			{
				return ВидыУсловийОбязательныхОтветов.НеРавно;
			}
			else if(Ссылка == Больше)
			{
				return ВидыУсловийОбязательныхОтветов.Больше;
			}
			else if(Ссылка == БольшеИлиРавно)
			{
				return ВидыУсловийОбязательныхОтветов.БольшеИлиРавно;
			}
			else if(Ссылка == Меньше)
			{
				return ВидыУсловийОбязательныхОтветов.Меньше;
			}
			else if(Ссылка == МеньшеИлиРавно)
			{
				return ВидыУсловийОбязательныхОтветов.МеньшеИлиРавно;
			}
			else if(Ссылка == ВСписке)
			{
				return ВидыУсловийОбязательныхОтветов.ВСписке;
			}
			else if(Ссылка == НеВСписке)
			{
				return ВидыУсловийОбязательныхОтветов.НеВСписке;
			}
			return ВидыУсловийОбязательныхОтветов.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыУсловийОбязательныхОтветов Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыУсловийОбязательныхОтветов Значение)
		{
			switch (Значение)
			{
				case ВидыУсловийОбязательныхОтветов.ПустоеЗначение: return ПустоеЗначение;
				case ВидыУсловийОбязательныхОтветов.ЛюбоеЗначение: return ЛюбоеЗначение;
				case ВидыУсловийОбязательныхОтветов.Равно: return Равно;
				case ВидыУсловийОбязательныхОтветов.НеРавно: return НеРавно;
				case ВидыУсловийОбязательныхОтветов.Больше: return Больше;
				case ВидыУсловийОбязательныхОтветов.БольшеИлиРавно: return БольшеИлиРавно;
				case ВидыУсловийОбязательныхОтветов.Меньше: return Меньше;
				case ВидыУсловийОбязательныхОтветов.МеньшеИлиРавно: return МеньшеИлиРавно;
				case ВидыУсловийОбязательныхОтветов.ВСписке: return ВСписке;
				case ВидыУсловийОбязательныхОтветов.НеВСписке: return НеВСписке;
			}
			return Guid.Empty;
		}
	}
}